package com.bjx.common.security.domain;

import com.bjx.common.core.domain.group.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * @desc: 用户职位关联VO实体
 * @author: liushuai
 * @date: 2022/10/15
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "UserPostVO",description = "用户职位关联VO实体")
public class UserPostVO  {
        /**
        * 用户职位Id
        */
        @NotNull(message = "用户职位Id不能为空",groups = Update.class)
        @Schema(title = "userPostId",description = "用户职位Id")
        private  String userPostId;
        /**
        * 组织机构Id
        */
        @NotNull(message = "组织机构Id不能为空")
        @Schema(title = "orgId",description = "组织机构Id")
        private  String orgId;
        /**
        * 职位Id
        */
        @NotNull(message = "职位Id不能为空")
        @Schema(title = "postId",description = "职位Id")
        private  String postId;
        /**
        * 用户Id
        */
        @NotNull(message = "用户Id不能为空")
        @Schema(title = "userId",description = "用户Id")
        private  String userId;
        /**
        * 数据权限
        */
        @NotNull(message = "数据权限不能为空")
        @Size(max = 32,message = "数据权限长度为1到32个字符")
        @Schema(title = "dataCode",description = "数据权限")
        private  Byte dataCode;

        @Schema(title = "postCode",description = "职位编号")
        private String postCode;

        @Schema(title = "comId",description = "公司Id")
        private String comId;
}